<!doctype html>
<html> 
<head>
	<meta charset="utf-8">
  <title>Videorekorder programmieren</title>

<script type="text/javascript">
// Formularfelder ändern: http://www.html.de/threads/aendern-eines-textfeld-inhaltes-nach-klick-auf-button.7377/
// Tagesdatum bei Laden anzeigen: http://dreamworker.de/showthread.php?21259-Javascript-Datum-im-Textfeld-anzeigen
function tagesdatum(frmObj)
{
  var d = new Date()
  var tagesdatum = d.getDate();
  tagesdatum += "."+(d.getMonth()+1);
  tagesdatum += "."+d.getFullYear();
  frmObj.value = tagesdatum;
}
function tagheute(frmObj)
{
  var d = new Date()
  var tagesdatum = d.getDate();
  frmObj.value = tagesdatum;
}
function monatheute(frmObj)
{
  var d = new Date()
  var tagesdatum = d.getMonth();

  // Jan=0
  // DropDown Feld über Index ansprechen
  frmObj.selectedIndex = tagesdatum; 
}

function go() {
  titel=document.getElementById('titel').value;
  sender=document.getElementById('sender').value;
  monat=document.getElementById('monat').value;
  tag=document.getElementById('tag').value;

  starth=parseInt(document.getElementById('starth').value);
  startm=parseInt(document.getElementById('startm').value);
  endeh=parseInt(document.getElementById('endeh').value);
  endem=parseInt(document.getElementById('endem').value);

  preoffset=parseInt(document.getElementById('preoffset').value);
  postoffset=parseInt(document.getElementById('postoffset').value);
  dauerMinuten=(60*endeh+endem)-(60*starth+startm)+preoffset+postoffset
  if (dauerMinuten < 0) { // Tageswechsel?
    dauerMinuten=(60*(24+endeh)+endem)-(60*starth+startm)+preoffset+postoffset
    } 

  // Anfangszeit bestimmen
  temp1=60*starth+startm-preoffset // Minuten bestimmen
  temp2=~~(temp1/60) // div Operator für Stundenzahl
  temp3=temp1%60 //  Rest
  starth=temp2
  startm=temp3

  // führende Null hinzufügen
  if (startm < 10) { 
    startm="0"+startm.toString()
  }
  
  // Leerzeichen entfernen
  // Quelle: http://stackoverflow.com/questions/1144783/replacing-all-occurrences-of-a-string-in-javascript
  titel = titel.replace(/ /g, ''); 

  ausgabe='echo \'timeout '+dauerMinuten+'m mplayer -dumpstream -dumpfile ~/'+titel+'.ts dvb://"'+sender+'"\' | at '+starth+':'+startm+' '+monat+' '+tag

//  document.write('<code>');
//  document.write(ausgabe);
//  document.write('</code>');

  document.getElementById('ausgabe').value = document.getElementById('ausgabe').value + ausgabe + '\n'

  // Datum bestimmen
//  var heute = new Date(); // aktuelles Datum
//  document.getElementById('heute').value = heute.getMonth()+' '+heute.getDate()
}
</script>

</head>

<body>

<h1>Videorekorder programmieren</h1>
<form name="form1">

Titel: <input id="titel" type="text" value="NameDerSendungJahr2010" size="50"/><br>
Sender:
<select id="sender" size="1">
<option selected>Sender 1</option>
<option>Sender 2</option>
<option>Sender 3</option>
</select><br>
Monat: 
<select id="monat" size="1">
<option>Jan</option>
<option>Feb</option>
<option>Mar</option>
<option>Apr</option>
<option>May</option>
<option>Jun</option>
<option>Jul</option>
<option>Aug</option>
<option>Sep</option>
<option>Oct</option>
<option>Nov</option>
<option>Dec</option>
</select>
Tag: <input id="tag" type="text" value="01" size="2"/>
heute: <input id="heute" type="text" size="20" readonly/><br>

Startzeit hh: <input id="starth" type="text" value="22" size="2"/>
mm: <input id="startm" type="text" value="30" size="2"/><br>
Endzeit hh: <input id="endeh" type="text" value="23" size="2"/>
mm: <input id="endem" type="text" value="40" size="2"/><br>

<p>
Offset<br>
Früher anfangen (Minuten): <input id="preoffset" type="text" value="2" size="2"/><br>
Später aufhören (Minuten): <input id="postoffset" type="text" value="5" size="2"/><br>
<p>
<input type="button" name="submit" value="Add" onclick="go();" />

<p><br><br>Ausgabe<br>

<p><textarea id="ausgabe" name="something" cols="80" rows="8"></textarea>



</form>

</body>
</html>
<script language="javascript" type="text/javascript">
  // <!--
	tagesdatum(window.document.form1.heute);
  tagheute(window.document.form1.tag); // Datum vorauswählen
  monatheute(window.document.form1.monat); // Datum vorauswählen
  // -->
</script>